34 research outputs found

    Julia: A Fresh Approach to Numerical Computing

    Get PDF
    Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast. Julia questions notions generally held as "laws of nature" by practitioners of numerical computing: 1. High-level dynamic programs have to be slow. 2. One must prototype in one language and then rewrite in another language for speed or deployment, and 3. There are parts of a system for the programmer, and other parts best left untouched as they are built by the experts. We introduce the Julia programming language and its design --- a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming. Julia shows that one can have machine performance without sacrificing human convenience.Comment: 37 page

    Julia: A Fresh Approach to Numerical Computing

    Get PDF
    Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast and questions notions generally held to be “laws of nature" by practitioners of numerical computing: \beginlist \item High-level dynamic programs have to be slow. \item One must prototype in one language and then rewrite in another language for speed or deployment. \item There are parts of a system appropriate for the programmer, and other parts that are best left untouched as they have been built by the experts. \endlist We introduce the Julia programming language and its design---a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, which is what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming. Julia shows that one can achieve machine performance without sacrificing human convenience.National Science Foundation (U.S.) (CCF-0832997)National Science Foundation (U.S.) (DMS-1016125)National Science Foundation (U.S.) (DMS-1312831

    Novel algebras for advanced analytics in Julia

    Get PDF
    A linear algebraic approach to graph algorithms that exploits the sparse adjacency matrix representation of graphs can provide a variety of benefits. These benefits include syntactic simplicity, easier implementation, and higher performance. One way to employ linear algebra techniques for graph algorithms is to use a broader definition of matrix and vector multiplication. We demonstrate through the use of the Julia language system how easy it is to explore semirings using linear algebraic methodologies

    Common variants in CLDN2 and MORC4 genes confer disease susceptibility in patients with chronic pancreatitis

    Get PDF
    A recent Genome-wide Association Study (GWAS) identified association with variants in X-linked CLDN2 and MORC4 and PRSS1-PRSS2 loci with Chronic Pancreatitis (CP) in North American patients of European ancestry. We selected 9 variants from the reported GWAS and replicated the association with CP in Indian patients by genotyping 1807 unrelated Indians of Indo-European ethnicity, including 519 patients with CP and 1288 controls. The etiology of CP was idiopathic in 83.62% and alcoholic in 16.38% of 519 patients. Our study confirmed a significant association of 2 variants in CLDN2 gene (rs4409525—OR 1.71, P = 1.38 x 10-09; rs12008279—OR 1.56, P = 1.53 x 10-04) and 2 variants in MORC4 gene (rs12688220—OR 1.72, P = 9.20 x 10-09; rs6622126—OR 1.75, P = 4.04x10-05) in Indian patients with CP. We also found significant association at PRSS1-PRSS2 locus (OR 0.60; P = 9.92 x 10-06) and SAMD12-TNFRSF11B (OR 0.49, 95% CI [0.31–0.78], P = 0.0027). A variant in the gene MORC4 (rs12688220) showed significant interaction with alcohol (OR for homozygous and heterozygous risk allele -14.62 and 1.51 respectively, P = 0.0068) suggesting gene-environment interaction. A combined analysis of the genes CLDN2 and MORC4 based on an effective risk allele score revealed a higher percentage of individuals homozygous for the risk allele in CP cases with 5.09 fold enhanced risk in individuals with 7 or more effective risk alleles compared with individuals with 3 or less risk alleles (P = 1.88 x 10-14). Genetic variants in CLDN2 and MORC4 genes were associated with CP in Indian patients

    A Glycemia Risk Index (GRI) of Hypoglycemia and Hyperglycemia for Continuous Glucose Monitoring Validated by Clinician Ratings

    Get PDF
    BackgroundA composite metric for the quality of glycemia from continuous glucose monitor (CGM) tracings could be useful for assisting with basic clinical interpretation of CGM data.MethodsWe assembled a data set of 14-day CGM tracings from 225 insulin-treated adults with diabetes. Using a balanced incomplete block design, 330 clinicians who were highly experienced with CGM analysis and interpretation ranked the CGM tracings from best to worst quality of glycemia. We used principal component analysis and multiple regressions to develop a model to predict the clinician ranking based on seven standard metrics in an Ambulatory Glucose Profile: very low-glucose and low-glucose hypoglycemia; very high-glucose and high-glucose hyperglycemia; time in range; mean glucose; and coefficient of variation.ResultsThe analysis showed that clinician rankings depend on two components, one related to hypoglycemia that gives more weight to very low-glucose than to low-glucose and the other related to hyperglycemia that likewise gives greater weight to very high-glucose than to high-glucose. These two components should be calculated and displayed separately, but they can also be combined into a single Glycemia Risk Index (GRI) that corresponds closely to the clinician rankings of the overall quality of glycemia (r = 0.95). The GRI can be displayed graphically on a GRI Grid with the hypoglycemia component on the horizontal axis and the hyperglycemia component on the vertical axis. Diagonal lines divide the graph into five zones (quintiles) corresponding to the best (0th to 20th percentile) to worst (81st to 100th percentile) overall quality of glycemia. The GRI Grid enables users to track sequential changes within an individual over time and compare groups of individuals.ConclusionThe GRI is a single-number summary of the quality of glycemia. Its hypoglycemia and hyperglycemia components provide actionable scores and a graphical display (the GRI Grid) that can be used by clinicians and researchers to determine the glycemic effects of prescribed and investigational treatments

    Novel Algebras for Advanced Analytics in Julia

    No full text
    Abstract—A linear algebraic approach to graph algorithms that exploits the sparse adjacency matrix representation of graphs can provide a variety of benefits. These benefits include syntactic simplicity, easier implementation, and higher performance. One way to employ linear algebra techniques for graph algorithms is to use a broader definition of matrix and vector multiplication. We demonstrate through the use of the Julia language system how easy it is to explore semirings using linear algebraic methodologies. A. Semiring algebra I
    corecore